Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain faster execution. Parallel computing is based on the fact that the process of solving a problem usually can be divided into smaller tasks, which may be carried out simultaneously with some coordination. Parallel applications can include some segments of instructions that must be executed serially on each node using a single thread, and other segments of instructions that can be executed in parallel on each node using multiple threads. That is, each node utilizes a single processor while executing the serial code segments and spawns threads to other processors on that node while executing the parallel code segments.
One problem with parallel computing environments and parallel applications is that a parallel application is susceptible to operating system (O/S) interference or jitter. O/S jitter is an event that is caused by the O/S that preempts or interrupts a parallel application from utilizing its assigned CPU for a period of time. Examples of these jitter events are the scheduling of daemon processes and the handling of asynchronous events such as interrupts. O/S jitter results in degradation of the performance of the parallel application.